/*给定一个只包括 '('，')'，'{'，'}'，'['，']' 的字符串 s ，判断字符串是否有效*/

bool isValid(char * s){
    int num;
    char a[100001],x;//模拟栈
    num=strlen(s);
    if(num%2==1)
    {
        return false;
    }
    int top=0,i=0;
    if(s[0]==')'||s[0]==']'||s[0]=='}')
    return false;
    while(s[i]!='\0')
    {
        if(s[i]=='('||s[i]=='{'||s[i]=='[')
        {
            if(s[i]=='(')
            x=')';
            if(s[i]=='[')
            x=']';
            if(s[i]=='{')
            x='}';
            top++;
            a[top]=x;
            //top++;为什么这里先赋值再加就不行？
        }
        else
        {
            if(a[top]==s[i])
            top--;
            else
            return false;
        }
        i++;
    }
    if(top==0)
    return true;
    else 
    return false;
}